home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / util / misc / xpkMASH_r2.lha / xpkMASH / xpkMASH.doc next >
Text File  |  1994-12-16  |  5KB  |  135 lines

  1.                     MASH
  2.            Another LZRW based compression algorithm
  3.             Version 1.26 (10 Dec 1994)
  4.              Copyright 1994 Zdenek Kabelac
  5.  
  6.                                 License/Disclaimer
  7.                                 ------------------
  8.     xpkMASH is (C) Copyright 1994 by Zdenek Kabelac.
  9.  
  10.     This package may be freely distributed, as long as it is kept in its
  11. original, complete, and unmodified form.  It may not be distributed by itself
  12. or in a commercial package of any kind without my written permission.
  13.  
  14.     xpkMASH is distributed in the hope that it will be useful, but WITHOUT ANY
  15. WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  16. PARTICULAR PURPOSE.
  17.  
  18.  
  19.                 Installation
  20.                 ------------
  21.  
  22.     Make sure the directory libs:compressors does exist and then just copy
  23. xpkFAST.library to libs:compressors.  You also need to have the XPK package
  24. installed, it is available from several sources including Fish disks.
  25.  
  26.  
  27.                  Description
  28.                  -----------
  29.  
  30.     xpkMASH is an XPK compression sublibrary whose main purpose is to be fast
  31. in decrunch and have excelent crunch factor.  The sublib is using LZ77
  32. compression, but uses special method in writing matches...  Also have very nice
  33. feature - hashing uses a lot of memory - 128KB, but when the memory is low it
  34. will reduce size down upto 4KB, but it will be very very slow.  Buffer size is
  35. 32KB.  Default chunk size is 64KB.  Decompresion is very very fast.  Also uses
  36. lazy eval method in searching matches - look in the source if you'd like to
  37. know what this means, also if you want to know more about this program - it
  38. slowed everything down, but only in compression.
  39.    Sublibrary has several modes:
  40.  
  41.         Mode          Strings to be searched
  42.        ------        ------------------------
  43.  
  44.          0- 9        1       ;for OnTheFly compres (but rake is better)
  45.         10-19        2       ;fast but not excelent CF
  46.         20-29        4
  47.         30-39        8
  48.         40-49        16
  49.         50-59        32      ;good speed, good results
  50.         60-69        64
  51.         70-79        128
  52.         80-89        256     ;usualy good enough
  53.         90-99        512
  54.         100          1024    ;the best, the slowest
  55.  
  56. The second colums shows how many matches should be compared
  57. - the more searched strings - the better results you will get
  58.  
  59. Last words: I've been using this version 1.16 for two months and no errors
  60.             has occured.
  61.             And if you want to improve it - send me copy of your work.
  62.  
  63.             Source fot this version is not released, if you want this
  64.             send me an e-mail
  65.  
  66.         I'll do some improvements later, but for now I don't have time.
  67.         Decompression is OK, but compression is ugly slow, so look
  68.         forward for faster compression.
  69.  
  70.  
  71. Here is benchmark result:
  72. Evaluated on a A3000/30/25 with 2MB ChipMem and 4MB SCRAM [standard
  73. XPK benchmark system] by XBench using AmigaVision [594712 bytes]
  74. executable as data.
  75.  
  76. mash.000   594712 332652 44.1%      8.59   69233      1.47  404565
  77. mash.010   594712 329784 44.6%      9.04   65786      1.46  407336
  78. mash.020   594712 326056 45.2%      9.75   60996      1.46  407336
  79. mash.030   594712 322496 45.8%     10.93   54410      1.44  412994
  80. mash.040   594712 319540 46.3%     12.75   46644      1.44  412994
  81. mash.050   594712 317128 46.7%     15.60   38122      1.43  415882
  82. mash.060   594712 315572 47.0%     19.91   29870      1.42  418811
  83. mash.070   594712 314684 47.1%     26.02   22855      1.42  418811
  84. mash.080   594712 314324 47.2%     33.75   17621      1.42  418811
  85. mash.090   594712 314096 47.2%     45.13   13177      1.42  418811
  86. mash.100   594712 313908 47.3%     65.42    9090      1.42  418811
  87.  
  88.  
  89.  
  90.  
  91.                    History
  92.                    -------
  93.  unreleased
  94.  V0.5    Many errors, the biggest problem was bad writing of bits string.
  95.  
  96.  V0.7    Most of errors has been debuged
  97.  
  98.  V0.8   Last byte has not been saved
  99.  
  100.  V0.9   On the first look normaly working version of the sublibrary with
  101.         fixed hash table - size 64KB
  102.  
  103.  V1.0   The big improvement in memory allocating
  104.     memory is allocated before each chunk compresion and deallocated
  105.         after this chunk is compressed (usefull if you have installed
  106.         statram.device)
  107.  
  108.  V1.01  Hash size was increased from 64KB to 128KB (16 bits)
  109.  
  110.  V1.05  Hash is allocated dynamicaly - when is large memory free - large hash
  111.         is used. Starting with 128KB, 64KB, 32KB, .... ,512 bytes
  112.  
  113.  V1.15  Seems to work perfectly for me
  114.  
  115.  V1.16  I suppose last bug has been removed - value of register D4
  116.         was not saved on return. Also most of long word instruction has
  117.         been rewritten to word oriented instructions (useful for MC68000)
  118.  
  119.  first public release:
  120.  
  121.  
  122.  V1.26  Several speed up improvements - decompression goes about 50 kB faster
  123.  
  124.  
  125.  
  126.  
  127.                                 Contact Address
  128.                                 ---------------
  129.  
  130.         Zdenek Kabelac
  131.         Policna 135
  132.         Valasske Mezirici
  133.         757 01 Czech republic
  134.  
  135.         "kabi/informatics.muni.cz"